package map;

import com.sun.xml.internal.fastinfoset.util.CharArray;

import java.util.HashMap;
import java.util.Map;
import java.util.Set;

/**
 * 统计字符串中每个字符出现的次数
 * 思路:
 * 用一个Map保存统计结果，key保存出现的字符，value保存该字符出现的次数
 * 利用字符串的charAt方法可以遍历字符串中每一个字符
 * 如果map中该字符不存在，则存入，并且对应的次数为1
 * 如果map中该字符已经存在，则根据该字符作为key提取其value(出现的次数)并对value+1再
 * 存回。
 * 遍历有输出map即可得知每个字符出现的次数。
 */
public class Test {
    public static void main(String[] args) {
        String line = "Thinking in java!,i love java";
        Map<Character, Integer> map = new HashMap<>();
        for (int i = 0; i < line.length(); i++) {
            char c = line.charAt(i);

            if (map.containsKey(c)) {
                Integer sum = map.get(c);
               sum = sum +1;
               map.put(c, sum);
            } else {
               map.put(c,1);
            }

        }
        Set<Map.Entry<Character, Integer>> entries = map.entrySet();
        for (Map.Entry<Character,Integer>  entry : entries){
            Character key = entry.getKey();
           Integer value1 = entry.getValue();
            System.out.println(key + ":" + value1);
        }
    }
}

